GINO Graphics Suite - GINO v9.0  

SAVDRA and SAVPIC Metafile

Device Nominations

  Nomination Routine Description of Device
A gSavdra() GINO's proprietary metafile (Drawings that have one or more pictures)
B gSavpic() GINO's proprietary metafile (To create segment libraries of objects)

Device Characteristics

A & B
Maximum Width No limit
Maximum Height No limit
Default Width (mm) 400.0  (-200.0 to +200.0)
Default Height (mm) 400.0  (-200.0 to +200.0)
Colours / Pens 255
Colour Palette Dynamic
Broken Linestyles 16
Drawing Modes No
Thick Lines Yes
Line Ends Yes
Arcs Yes
Symbols Yes
Fonts 1
Character Sizes Any & 4 Pseudo-hardware in multiples of 1.5mm square
Character Angles Any
Italic Characters Any angle
Polygonal Filling Yes (Solid and any hatch style)
Segments Yes
Image Handling No
Clipping No
Window/Device Titling Yes


There are two nomination routines for the SAVDRA metafile depending on the intended use of the picture information.

In general, gSavdra() is used for storing complete drawings. All the current drawing modes are stored and so the same drawing can be reproduced exactly as specified on any other device.

Alternatively, gSavpic() is designed to store picture segments for subsequent use as library objects. A minimum of information is stored in the file, this being the vector part of the segment (i.e. coordinates). It is assumed that qualifiers such as object size and drawing attributes will be provided by the interpreting program.

Device Limits

Unlike most device drivers, the drawing area has its origin at the centre. Therefore setting the drawing limits using the routine gSetDrawingLimits(), defines limits that represent the positive quadrant of the complete drawing area. For example, setting the limits to limit.xpap by limit.ypap defines an effective drawing area of 2*xpap by 2*ypap. The device limits are thus defined to be -xpap, +xpap and -ypap, +ypap.

Savdra Device Limits

The routines gSetWindow2D() or gSetWindow3D() can be used to restrict output to the positive quadrant of the complete drawing area.

Metafile Composition

Multiple drawings in the gSavdra() format metafile can be separated using the gNewDrawing() routine.

Whilst most appropriate in the gSavpic() format, either form can contain multiple segments using the gOpenSeg() and gCloseSeg() routine. Any drawing not contained in a segment is added to segment zero.

File Format

The SAVDRA metafile records all graphical data generated by GINO. The file is written in records of up to 72 characters according to the ANSI printable character set (ie, ASCII codes 32-126).